package com.jcfk.eam.domain.dto.base;

import com.baomidou.mybatisplus.annotation.TableField;
import com.jcfk.system.domain.dto.BaseDTO;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.validator.constraints.Length;

import lombok.Data;

import java.util.Date;

/**
 * 标准作业规程
 *
 * @author awei
 * @email 522891237@gqq.com
 * @date 2024-08-08
 */
@Data
public class EamSopStandardDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 标准作业编号
     */
    @Length(max = 32, message = "标准作业编号长度不能超过32")
    private String standardCode;

    /**
     * 标准作业名称
     */
    @Length(max = 32, message = "标准作业名称长度不能超过32")
    private String standardName;

    /**
     * 标准作业类别
     */
    @Length(max = 32, message = "标准作业类别长度不能超过32")
    private String sopTypeId;

    /**
     * 标准作业类型
     */
    @Length(max = 32, message = "标准作业类型长度不能超过32")
    private String standardCategory;

    /**
     * 资产大类
     */
    private Integer assetKind;

    /**
     * 设备类型
     */
    @Length(max = 32, message = "设备类型长度不能超过32")
    private String equipTypeId;

    /**
     * 品牌型号
     */
    @Length(max = 32, message = "品牌型号长度不能超过32")
    private String brandId;

    private String brandName;

    private String makerId;

    /**
     * 制造商编号
     */
    private String makerCode;

    /**
     * 制造商名称
     */
    private String makerName;

    /**
     * 作业周期
     */
    @Length(max = 32, message = "作业周期长度不能超过32")
    private String standardCycle;

    /**
     * 作业周期类型
     */
    @Length(max = 32, message = "作业周期类型长度不能超过32")
    private String standardCycleType;

    /**
     * 作业人员类型
     */
    @Length(max = 32, message = "作业人员类型长度不能超过32")
    private String standardPersonnel;

    /**
     * 编制日期
     */
    private Date standardCompileTime;

    /**
     * 编制人
     */
    @Length(max = 32, message = "编制人长度不能超过32")
    private String standardCompilePersonnel;

    /**
     * 审核时间
     */
    private Date standardExamineTime;

    /**
     * 审核人
     */
    @Length(max = 32, message = "审核人长度不能超过32")
    private String standardExaminePersonnel;

    /**
     * 批准时间
     */
    private Date standardRatifyTime;

    /**
     * 批准人
     */
    @Length(max = 32, message = "批准人长度不能超过32")
    private String standardRatifyPersonnel;

    /**
     * 创建人名
     */
    @Length(max = 50, message = "创建人名长度不能超过50")
    private String createdUserName;

    /**
     * 更新人名
     */
    @Length(max = 50, message = "更新人名长度不能超过50")
    private String lastUpdatedUserName;

    /**
     * 是否停用
     */
    private Integer enabled;

    /**
     * 是否删除
     */
    private Integer deleted;

    /**
     * 批量删除id
     */
    private List<String> ids;

    private List<EamSopStandardImgDTO> images = new ArrayList<>();


    /**
     * 作业类别
     */
    private Integer taskKind;

    /**
     * 作业类型编号
     */
    private String sopTypeCode;

    /**
     * 作业类型名称
     */
    private String sopTypeName;

    private String assetTypeCode;

    /**
     * 资产类型名称
     */
    private String assetTypeName;

    private String brandCode;

    private String assetModelId;

    /**
     * 资产型号
     */
    private String assetModelNo;

    private String modelNo;

    private List<EamSopItemDTO> itemDTOS = new ArrayList<>();
}
